<?php

namespace LowCode\Traits\Props;

use LowCode\Support\JsExp;

trait HasLabelDetail
{
    /**
     * 标签的宽度，在 label-placement 是 'left' 的时候可能会有用，'auto' 意味着 label width 会被自动调整
     * @param string|int|JsExp $width number | string | 'auto'
     * @return $this
     */
    public function labelWidth(string|int|JsExp $width = 'auto'): static
    {
        return $this->prop("label-width",$width);
    }

    /**
     * 设置标签对齐方式
     * @param string|JsExp $align 'left' | 'right'
     * @return $this
     */
    public function labelAlign(string|JsExp $align = 'left' | 'right'): static
    {
        return $this->prop("label-align",$align);
    }

    /**
     * 如果没有被设定，使用外层表单的 label-placement
     * @param string|JsExp $placement 'left' | 'top'
     * @return $this
     */
    public function labelPlacement(string|JsExp $placement = 'left' | 'top'): static
    {
        return $this->prop("label-placement",$placement);
    }

}
